package net.hn.hnms.biz.equipment.service;

import net.hn.hnms.biz.equipment.domain.SupportCameraMapPo;
import net.hn.hnms.biz.equipment.domain.SynergiadataAbnormalPo;
import net.hn.hnms.biz.equipment.domain.dto.AbnormalDto;
import net.hn.hnms.biz.equipment.domain.dto.HisDto;
import net.hn.hnms.biz.equipment.domain.dto.NowDto;
import net.hn.hnms.biz.equipment.domain.dto.PointDto;
import net.hn.hnms.biz.equipment.domain.vo.ChartDateVo;
import net.hn.hnms.biz.equipment.domain.vo.HisVo;
import net.hn.hnms.biz.equipment.domain.vo.NowVo;
import net.hn.hnms.biz.equipment.domain.vo.PointHistoryListVo;
import net.hn.hnms.sys.common.core.domain.ResponsePage;
import net.hn.hnms.sys.common.mybatis.core.page.PageQuery;
import net.hn.hnms.sys.common.mybatis.core.page.TableDataInfo;

import java.util.List;

/**
 * @InterfaceName: SynergiaService
 * @Description
 * @Author 王龙
 * @Date 2022-08-22
 * @Version 0.1
 */
public interface SynergiaService {
    /**
     * 分页条件查询实时数据
     * @param pageQuery
     * @param nowDTO
     * @return
     */
    ResponsePage<NowVo> pageNowList(PageQuery pageQuery, NowDto nowDTO);

    /**
     * 分页条件查询报警明细
     * @param pageQuery
     * @param abnormalDTO
     * @return
     */
    TableDataInfo<SynergiadataAbnormalPo> pageAbnormalInfo(PageQuery pageQuery, AbnormalDto abnormalDTO);

    /**
     * 分页条件查询历史数据
     * @param pageQuery
     * @param hisDTO
     * @return
     */
    ResponsePage<HisVo> pageHistoryInfo(PageQuery pageQuery, HisDto hisDTO);

    /**
     * 获取所属设备下拉列表
     * @return
     */
    List<String> categoryList(String mineCode);

    /**
     * 获取设备位置下拉列表
     * @return
     */
    List<String> deviceLocaltionList(String mineCode);

    /**
     * 条件查询历史数据测点曲线
     * @param pointDto
     * @return
     */
    ChartDateVo pointHistoryCurve(PointDto pointDto);

    /**
     * 条件查询历史数据测点列表
     * @param pointDto
     * @return
     */
    List<PointHistoryListVo> pointHistoryList(PointDto pointDto);

    /**
     * 根据支架号获取摄像头信息
     * @param mineCode
     * @param number
     * @return
     */
    SupportCameraMapPo getCameraInfoBySupport(String mineCode, Integer number);
}
